#ifndef BUILDMANAGER_H
#define BUILDMANAGER_H

#include <QtCore/QObject>

#include <QtCore/QPointer>
#include <QtCore/QList>
#include <QtCore/QString>
#include <QtCore/QMap>
#include <QtWidgets/QWidget>
#include <QtWidgets/QStackedWidget>

class BuildManager
{
public:

    virtual ~BuildManager();
    static BuildManager* instance();

    virtual void buildUi();    
	
	QWidget* buildMainWindow();
	QWidget* buildWidgetTree();
	QWidget* buildDialogTypeList();
	QWidget* buildDialogDataMonitor();
	QWidget* buildDialogReflection();
	QWidget* buildDialogPlugin();
	QWidget* buildDialogSetting();

	QWidget* buildWidgetVariantContainer();
	QWidget* buildWidgetProperty();
    
	QWidget* buildWidgetEmpty();
	QWidget* buildWidgetLog();

    void loadPlugins();
    void loadLibUiWrapOsg();
    void loadLibUiWrapMachining();
    void loadLibUiWrapVtk();

protected:

private:
    BuildManager();
    static BuildManager* _instance;
};

#endif // BUILDMANAGER_H
